home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Night Owl 9
/
Night Owl CD-ROM (NOPV9) (Night Owl Publisher) (1993).ISO
/
032a
/
acctxt2.zip
/
DDEWOR.TXT
< prev
next >
Wrap
Text File
|
1993-02-14
|
5KB
|
175 lines
.TITLE: INF: Merging Records To Word For Windows Via DDE
.VERSION(S): 1.00
.OPERATING SYSTEM(S): WINDOWS
-----------------------------------------------------------
The information in this article applies to:
- Microsoft Access version 1.0
-----------------------------------------------------------
Summary:
This article describes the steps for creating a form which
allows the user to press a button to send the current record
to Microsoft Word for Windows. The data sent is merged into
a pre-written letter and printed.
The article assumes that you understand Dynamic Data
Exchange, setting bookmarks in Word for Windows, and
creating modules in Microsoft Access.
More Information:
Step One: Create the Winword Document
-------------------------------------
1) Start Winword and open a new document.
2) Type in the following:
CompanyName
Address
City, Region, PostalCode
Country
Dear ContactName,
NorthWind Traders would like to thank you for
your business during the past year. Enclosed
you will find several samples of new products
that we are excited to announce.
Sincerely,
NorthWind Traders.
3) Save this document as DDEMERGE.DOC.
4) To create the bookmarks, highlight CompanyName and
choose Bookmark from the Insert menu. Name the
Bookmark "CompanyName", without quotes.
5) Repeats these steps, creating bookmarks for the
fields: Address, City, Region, PostalCode, Country,
and ContactName.
Step Two: Create The Access Basic Modules
=========================================
1) Open the example database NWIND.MDB. (One of
the following modules uses the function STARTAPP()
which is located in the module Introduction to
Programming.
2) Create a new module called Print Merge.
3) Place the following statement in the (declarations)
section:
Dim Mergechan As Integer
4) Create a new function called Initiate_Word ()
Function Initiate_Word ()
Chan = StartApp("Winword", "System")
On Error GoTo AlertUser:
WordTopics = DDERequest(Chan, "Topics")
If InStr(1, WordTopics, "DDEMERGE.DOC") = 0 Then
DDEExecute Chan, "[FILEOPEN(""DDEMERGE.DOC"")]"
End If
DDETerminate Chan
Mergechan = DDEInitiate("Winword", "DDEMERGE.DOC")
Exit Function
AlertUser:
MsgBox "Access is unable to initiate a DDE
channel with the document DDETEST.DOC"
Resume Next
End Function
5) Create a new function called Send_Record()
Function Send_Record ()
Dim Chan
Dim ControlName As Control
Dim BookMarks As String
On Error GoTo CatchBlanks:
DDEPoke Mergechan, "CompanyName",
Forms![Customers DDE]![Company Name]
DDEPoke Mergechan, "ContactName",
Forms![Customers DDE]![Contact Name]
DDEPoke Mergechan, "Address",
Forms![Customers DDE]![Address]
DDEPoke Mergechan, "City",
Forms![Customers DDE]![City]
DDEPoke Mergechan, "Region",
Forms![Customers DDE]![Region]
DDEPoke Mergechan, "PostalCode",
Forms![Customers DDE]![Postal Code]
DDEExecute Mergechan, "[FilePrint]"
Exit Function
CatchBlanks:
If MsgBox("One of these fields is blank. Would
you like to continue?", 52) = 6 Then
Resume Next
Else
Exit Function
End If
End Function
Note: Each of the DDEPoke statements should be on one
line in your function. They are split in this
article for readability.
6) Create a function called Terminate_MergeChan():
Function Terminate_MergeChan ()
DDETerminate MergeChan
End Function
7) Choose Compile All from the Run menu and then
close and save the module.
Step Three: Create the Form
=========================================
1) Open the form [Customers] in design mode.
2) Set the OnOpen property of the form to:
=Initiate_Word()
3) Set the OnClose property of the form to:
=Terminate_MergeChan()
4) Add a new button to the Customers form.
5) Set the Caption property of the button to:
Print Letter.
6) Set the OnPush property of the button to:
=Send_Record()
7) Save the form and switch to browse mode. Click on the
Print Letter button. The current record will be sent
to Word for Windows, merged into the document
DDEMERGE.DOC
and then printed.
Reference(s):
Introduction to Programming, Chapter 9 Dynamic Data
Exchange.
Word for Windows Technical Reference pp. 20-25